package com.kingyun.gpsinspection.purificationservice.dao.mapper.tdm;


import com.kingyun.gpsinspection.purificationservice.facade.model.tdm.Task;
import com.kingyun.gpsinspection.purificationservice.facade.model.tdm.TaskStatistics;

import java.util.List;

public interface TaskMapper {
    /**
     * 任务查看：查列表list
     *
     * @param task
     * @return
     */
    List<Task> queryList(Task task);

    /**
     * 任务查看：查数量
     *
     * @param task
     * @return
     */
    Integer queryCount(Task task);

    /**
     * 与我相关任务：查列表list
     *
     * @param task
     * @return
     */
    List<Task> queryRelatedList(Task task);

    /**
     * 与我相关任务：查数量
     *
     * @param task
     * @return
     */
    Integer queryRelatedCount(Task task);

    /**
     * 查询子任务列表
     *
     * @param task
     * @return
     */
    List<Task> queryChildList(Task task);

    /**
     * 查询子任务数量
     *
     * @param task
     * @return
     */
    Integer queryChildCount(Task task);

    List<Task> queryFourList(Task task);

    Integer queryFourCount(Task task);

    List<Task> queryFxclList(Task task);

    Integer queryFxclCount(Task task);

    List<Task> queryWhysbsList(Task task);

    Integer queryWhysbsCount(Task task);

    Task findTaskByFlowId(String flowId);

    Task findTaskByTaskId(String taskId);

    TaskStatistics selectTaskStatistics(Task task);

    /**
     * 查询头路径
     *
     * @param i 项目id
     */
    String queryAddress(String i);

    /**
     * 根据主任务ID，查询关联任务
     *
     * @param masterTaskId
     * @return
     */
    List<Task> findRelatedTasksByMasterTaskId(String masterTaskId);

    /**
     * 根据业务id查询流程的id
     *
     * @param businessId 业务id
     */
    String getTaskIdByBusinessId(String businessId);
}